package com.gym.manager.interfaz;

import javax.microedition.lcdui.Alert;
import javax.microedition.lcdui.AlertType;
import javax.microedition.lcdui.Command;
import javax.microedition.lcdui.CommandListener;
import javax.microedition.lcdui.Displayable;
import javax.microedition.lcdui.Form;
import javax.microedition.lcdui.Image;
import javax.microedition.lcdui.ImageItem;
import javax.microedition.lcdui.Item;
import javax.microedition.lcdui.ItemCommandListener;

public class FormaPrincipal extends Form implements CommandListener, ItemCommandListener {

    private Command iniciarRutina;
    private ImageItem itIniciarRutina;
    private Command manejoRutinas;
    private ImageItem itManejoRutinas;
    private Command salir;
    private Command acercaDe;
    private Command config;
    private ImageItem itConfig;
    private Command cargar;
    private ImageItem itCargar;
    private Command ayuda;
    private ImageItem itAyuda;
    /**
     * Clase principal de la aplicación
     */
    private MIDletGymManager principal;

    /**
     * Construye la forma principal de la aplicación
     * @param interfaz la clase principal de la aplicación
     */
    public FormaPrincipal(MIDletGymManager interfaz) {
        super("Gym Manager");
        setCommandListener(this);

        principal = interfaz;

        salir = new Command("Salir", Command.EXIT, 0);
        addCommand(salir);

        acercaDe = new Command("Acerca De", Command.HELP, 0);
        addCommand(acercaDe);

        try {
            Image imManejoRutinas = Image.createImage("/iconos/manejoRutina.png");
            itManejoRutinas = new ImageItem("Edit", imManejoRutinas, ImageItem.LAYOUT_DEFAULT, "Edit", Item.BUTTON);
            manejoRutinas = new Command("Edit", Command.ITEM, 0);
            itManejoRutinas.addCommand(manejoRutinas);
            itManejoRutinas.setDefaultCommand(manejoRutinas);
            itManejoRutinas.setItemCommandListener(this);
            append(itManejoRutinas);
        } catch (Exception e) {
        }

        try {
            Image imJugar = Image.createImage("/iconos/iniciarRutina.png");
            itIniciarRutina = new ImageItem("Start", imJugar, ImageItem.LAYOUT_DEFAULT, "Start", Item.BUTTON);
            iniciarRutina = new Command("Start", Command.ITEM, 0);
            itIniciarRutina.addCommand(iniciarRutina);
            itIniciarRutina.setDefaultCommand(iniciarRutina);
            itIniciarRutina.setItemCommandListener(this);
            append(itIniciarRutina);
        } catch (Exception e) {
        }

//        try {
//            Image imRanking = Image.createImage("/iconos/config.png");
//            itConfig = new ImageItem("Configuration", imRanking, ImageItem.LAYOUT_DEFAULT, "Configuration", Item.BUTTON);
//            config = new Command("Configuration", Command.ITEM, 0);
//            itConfig.addCommand(config);
//            itConfig.setDefaultCommand(config);
//            itConfig.setItemCommandListener(this);
//            append(itConfig);
//        } catch (Exception e) {
//        }



        try {
            Image imAyuda = Image.createImage("/iconos/ayuda.png");
            itAyuda = new ImageItem("Help", imAyuda, ImageItem.LAYOUT_DEFAULT, "Help", Item.BUTTON);
            ayuda = new Command("Help", Command.ITEM, 0);
            itAyuda.addCommand(ayuda);
            itAyuda.setDefaultCommand(ayuda);
            itAyuda.setItemCommandListener(this);
            append(itAyuda);
        } catch (Exception e) {
        }
    }

    public void commandAction(Command c, Displayable d) {
        if (d == this) {
            if (c == salir) {
                principal.exitMIDlet();
            }
            if (c == acercaDe) {
                Alert acerca = new Alert("Torres de Hanoi:", "Es un acertijo publicado por el matematico Edouard Lcuas aproximadamente en 1883 y tiene como origen la leyenda Hindu de las Torres de Brahma", null, AlertType.INFO);
                principal.switchDisplayable(acerca, d);
            }
        }
    }

    public void commandAction(Command c, Item i) {
        if (i == itManejoRutinas) {
            if (c == manejoRutinas) {
                principal.mostrarOpcionesManejoRutina();
            }
        }
        if (i == itIniciarRutina) {
            if (c == iniciarRutina) {

                principal.mostrarRegistrarProgreso();
            }
        }
        if (i == itConfig) {
            if (c == config) {
            }
        }
        if (i == itAyuda) {
            if (c == ayuda) {
                principal.mostrarAyuda();
            }
        }

    }
}
